/*
 * String.cpp
 *
 *  Created on: 01/10/2010
 *      Author: paulo
 */

#include "String.h"

String::String()
{
	this->dato = "";
}

String::String(const String &dato)
{
	this->dato = dato.dato;
}

String::String(string dato)
{
	this->dato = dato;
}

String::String(const char* dato)
{
	this->dato = dato;
}

string String::getDato() const
{
	return (this->dato);
}

void String::setDato(string s)
{
	this->dato = s;
}


bool String::estaVacio() const
{
	return (this->dato.size() == 0);
}


void String::insertar(String & s)
{
	this->dato.insert(this->dato.size(),s.dato);
}

void String::insertar(String & s, int offset)
{
	this->dato.insert(offset,s.dato);
}


void String::insertar(string s)
{
	this->dato.insert(this->dato.size(),s);
}

void String::insertar(string s, int offset)
{
	this->dato.insert(offset,s);
}

bool String::leer(void* buffer, int offsetLeer,int tamanio)const
{
	String s =	this->dato.substr(offsetLeer,tamanio);
	if(s.dato.size()==0)
		return false;
	else
		memcpy(buffer,s.dato.data(),tamanio);

}

String::~String()
{
}
